#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int* p = malloc(10 * sizeof(int));
    if (p == NULL) {
        return 1;
    }
    int i = 0;
    for (i = 0; i < 5; i++) {
        *p++ = i; // p指向的空间被改变了
    }

    free(p);
    p = NULL;

    return 0;
}

#include <stdio.h>
#include <stdlib.h>

void test()
{
    int* p = (int*)malloc(100);
    if (p == NULL) {
        return;
    }
    // 使用 略

    // 此时忘记释放了
}

int main()
{
    test();

    free(p); // 此时释放不了了，没人知道这块空间的起始位置在哪了
    p = NULL;
}